package io.renren.modules.app.message;

/**
 * @author :
 * @version V1.0
 * @Project:
 * @Package
 * @Description: 京东慧采相关消息类型编码
 * @date
 **/
public interface MsgType {

    /**
     * 商品池相关
     */
    interface Pool{
        /**
         * 商品池内商品添加、删除消息
         * {"id":推送id, "result":{"skuId": 商品编号, "page_num":商品池编号, "state":"1添加，2删除"}, "type" : 6, "time":推送时间}
         */
        int CHANGE=6;

        /**
         * 商品池添加、删除消息
         * {"id":推送id, "result":"{"poolType": "recommend", "page_num":"商品池编号", "state":"1添加，2删除"}", "type" :48, "time":推送时间}
         * poolType:
         * p_skupool 用户的私有商品池；
         * cate_pool 分类商品池
         * recommend 主推商品池；hot_sale 热销商品池；
         * p_custom_skupool 用户的私有定制商品池；
         */
        int STATE=48;
    }

    /**
     * 商品相关
     */
    interface Product{
        int STATE=4;
        int PRICE=2;
        /**
         * 包含：
         * 商品名称，介绍，规格参数和商品图变更
         * {"id":推送id, "result":{"skuId" : 商品编号 } "type" : 16, "time":推送时间}
         */
        int DETAIL=16;
    }


    /**
     * 商品订单相关
     */
    interface Order{

        /**
         * 新订单消息
         * {"id":推送id, "result":{"orderId":京东订单号, "pin":"京东账号"} "type" : 25, "time":推送时间(订单创建时间)}
         */
        int CREATED=25;

        /**
         * 预定订单消息
         * {"id":推送id, "result":{"orderId":京东订单号} "type" : 26, "time":推送时间}
         */
        int RESERVATION=26;
        /**
         * 订单取消消息
         * {"id":推送id, "result":{" orderId": 京东订单编号 }, "type" : 10, "time":推送时间}
         */
        int CANCEL=10;

        /**
         *配送单生成成功消息： 开始配货
         * <pre>
         *     {"id":推送id, "result":{" orderId": 京东订单编号 }, "type" : 12, "time":推送时间}
         * </pre>
         */
        int DISPATCH=12;

        /**
         * 订单等待确认收货消息
         * {"id":推送id, "result":{"orderId":京东订单号} "type" : 18, "time":推送时间}
         * <strong>
         *     18 就是 12 后面的一个环节
         * 也是订单的流转节点
         * 商品已经在配送途中或是已经到站点准备给用户配送商品的状态
         * （以上是讲的从 京东发货商品谈论的角度）
         *
         * 厂直发货商品不可以用这个来判断
         * 厂直订单处于 16 等待确认收货的是时候，由用户侧自行判断商品签收问题，
         * 如果商品签收了，那就通过 厂直确认收货接口 触发，使其订单状态变更成完成；
         * 如果放置不管，也就是不“确认收货”，那么在20 天后(推送type 18的时间+ 20) 系统自动完成
         * </strong>
         */
        int WAIT_RECEIVING=18;
        /**
         * 订单配送退货消息
         * {"id":推送id, "result":{"orderId":京东订单号} "type" : 23, "time":推送时间}
         */
        int REFUND=23;

        /**
         * 订单完成消息
         * "id": xxx,
         *             "result": {
         *                 "jdOrderState": 19,
         *                 "pin": "xx",
         *                 "completeTime": xx",
         *                 "orderId": xx
         *             },
         *             "time": xx
         *             "type": 31
         */
        int COMPLETE=31;



        /**
         * 订单-新售后服务单状态变更
         * {"id":推送id, "result":{"orderId":京东订单号,"pin":"京东账号","skuId":商品编号,"afsServiceId":"服务单号","state":服务单状态，,"isOffline":"是否线上申请"} "type" : 110, "time":推送时间}
         * state状态：
         * 1：创建；
         * 2：审核不通过；
         * 3：审核取消；
         * 4：审核通过
         * 5：用户确认
         * 6：完成
         */
        int AFTER_SALE=110;




    }

    interface Pay{

        /**
         * 支付失败消息
         * {"id":推送id, "result":{" orderId": 京东订单编号}, "type" : 14, "time":推送时间}
         */
        int FAILED=14;

        /**
         * 7天未支付取消消息/未确认取消消息
         * cancelType, 1: 7天未支付取消消息; 2: 未确认取消
         * <pre>
         *     {"id":推送id, "result":{"orderId": 京东订单编号, "cancelType": 取消类型}， "type" : 15, "time":推送时间}
         * </pre>
         */
        int EXCEED_7D=15;

    }


}
